/*
 * config.h
 *
 *  Created on: Jun 29, 2011
 *      Author: Moises Osorio
 */

#ifndef CONFIG_H_
#define CONFIG_H_

#define EPS 1e-10

enum RepresentationType {
	BINARY_REPRESENTATION,
	GRAY_REPRESENTATION,
	INTEGER_REPRESENTATION,
	PERMUTATION_REPRESENTATION,
	REAL_REPRESENTATION,
	TREE_REPRESENTATION
};

enum SelectionType {
	UNIFORM_ROULETTE_WHEEL_SELECTION,
	STOCHASTIC_REMAINDER_SELECTION,
	DETERMINISTIC_BINARY_TOURNAMENT_SELECTION,
	BOLTZMANN_SELECTION
};

enum CrossoverType {
	ONE_POINT_CROSSOVER,
	UNIFORM_CROSSOVER,
	PARTIALLY_MAPPED_CROSSOVER,
	SIMULATED_BINARY_CROSSOVER,
	PRUNE_DELETE_GRAFT_CROSSOVER
};

enum MutationType {
	UNIFORM_MUTATION,
	RECIPROCAL_INTERCHANGE_MUTATION,
	PARAMETER_BASED_MUTATION,
	SCRAMBLE_MUTATION
};

enum ConstraintHandlingType {
	FAITH_BASED_CONSTRAINT_HANDLING
};

enum LocalSearchType {
	NO_SEARCH,
	NEAREST_NEIGHBOR_INTERCHANGE_SEARCH,
	SUBTREE_PRUNING_REGRAFTING_SEARCH,
	TREE_BISECTION_RECONNECTION_SEARCH
};

#endif /* CONFIG_H_ */
